{"version":3,"file":"input copy.vue2.mjs","sources":["../../../../../../packages/components/input/src/input copy.vue"],"sourcesContent":["<template>\r\n  <component\r\n    :is=\"componentType\"\r\n    ref=\"inputRef\"\r\n    v-bind=\"attrs\"\r\n    :value=\"innerValue\"\r\n    autocomplete=\"off\"\r\n    :allow-clear=\"allowClear\"\r\n    :disabled=\"disabled\"\r\n    :readonly=\"readonly\"\r\n    :maxlength=\"getMaxlength\"\r\n    :class=\"[\r\n      bem.b(),\r\n      bem.is(isGray ? 'gray-input' : ''),\r\n      allowClear && hasValue && isMouseOver && !disabled\r\n        ? 'show-clear-icon'\r\n        : '',\r\n    ]\"\r\n    @change=\"onChange\"\r\n    @blur=\"onBlur\"\r\n  >\r\n    <template v-for=\"item in Object.keys($slots)\" :key=\"item\" #[item]=\"data\">\r\n      <slot :name=\"item\" v-bind=\"data || {}\"></slot>\r\n    </template>\r\n    <template v-if=\"prefixIcon\" #prefix>\r\n      <ll-icon :icon-name=\"prefixIcon\" class=\"prefix-icon\" />\r\n    </template>\r\n    <template v-if=\"suffixIcon\" #suffix>\r\n      <ll-icon :icon-name=\"suffixIcon\" class=\"suffix-icon\" />\r\n    </template>\r\n  </component>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { createNamespace } from '@ll-plus/utils'\r\nimport { Form, Input } from 'ant-design-vue'\r\nimport {\r\n  computed,\r\n  nextTick,\r\n  onMounted,\r\n  onUnmounted,\r\n  ref,\r\n  useAttrs,\r\n  watch,\r\n} from 'vue'\r\nimport { InputValue, inputProps } from './input'\r\n\r\ndefineOptions({ name: 'LlInput', inheritAttrs: false })\r\n\r\nconst bem = createNamespace('input')\r\n\r\nconst props = defineProps(inputProps)\r\n\r\nconst emit = defineEmits(['update:value', 'change', 'clear', 'blur'])\r\n\r\nconst attrs = useAttrs()\r\n\r\nconst getMaxlength = computed(() =>\r\n  typeof props.maxlength === 'number'\r\n    ? props.maxlength > 0\r\n      ? props.maxlength\r\n      : null\r\n    : null,\r\n)\r\n\r\nconst innerValue = ref<InputValue>('')\r\n\r\nconst inputRef = ref()\r\n\r\nconst isMouseOver = ref(false)\r\n\r\nconst formItemContext = Form.useInjectFormItemContext()\r\n\r\nconst affixWrapper = ref()\r\n\r\n// 判断当前输入框是否有值\r\nconst hasValue = computed(() => innerValue.value || props.defaultValue)\r\n\r\n// 鼠标移入事件\r\nconst handleMouseOver = () => {\r\n  isMouseOver.value = true\r\n}\r\n\r\n// 鼠标移出事件\r\nconst handleMouseOut = () => {\r\n  isMouseOver.value = false\r\n}\r\n\r\n// 输入框发送变化的回调\r\nconst onChange = (e: any) => {\r\n  const { value } = e.target\r\n  emit('update:value', value)\r\n  emit('change', e)\r\n  if (!value && e.type === 'click') {\r\n    emit('clear', value)\r\n  }\r\n  innerValue.value = value\r\n  formItemContext.onFieldChange()\r\n}\r\n\r\nconst onBlur = (e: any) => {\r\n  emit('blur', e)\r\n  formItemContext.onFieldBlur()\r\n}\r\n\r\n// 监听props.value/props.defaultValue的变化\r\nwatch(\r\n  () => [props.value, props.defaultValue],\r\n  ([newValue, newDefaultValue]) => {\r\n    innerValue.value = newValue || newDefaultValue\r\n  },\r\n  {\r\n    immediate: true,\r\n  },\r\n)\r\n\r\n// 监听innerValue的变化，触发update:value事件\r\n// watch(\r\n//   innerValue,\r\n//   (newValue) => {\r\n//     emit('update:value', newValue)\r\n//     formItemContext.onFieldChange()\r\n//   },\r\n//   {\r\n//     immediate: true,\r\n//     deep: true,\r\n//   },\r\n// )\r\n\r\n// 根据showPassword属性决定组件类型\r\nconst componentType = props.showPassword ? Input.Password : Input\r\n\r\nconst focus = () => {\r\n  inputRef.value?.focus?.()\r\n}\r\nconst select = () => {\r\n  inputRef.value?.select?.()\r\n}\r\n\r\nconst handleWrapperMouseOver = () => handleMouseOver()\r\nconst handleWrapperMouseOut = () => handleMouseOut()\r\n\r\nonMounted(() => {\r\n  nextTick(() => {\r\n    if (!inputRef.value || !inputRef.value.$el || props.showPassword) return\r\n\r\n    // 简化逻辑：先检查根元素是否已经是目标元素\r\n    const rootElement = inputRef.value.$el\r\n    const isRootAffixWrapper = rootElement.classList?.contains(\r\n      'ant-input-affix-wrapper',\r\n    )\r\n\r\n    if (isRootAffixWrapper) {\r\n      // 情况1：根元素本身就是 affix-wrapper\r\n      affixWrapper.value = rootElement\r\n    } else {\r\n      // 情况2：在子元素中查找\r\n      affixWrapper.value = rootElement.querySelector?.(\r\n        '.ant-input-affix-wrapper',\r\n      )\r\n    }\r\n    if (affixWrapper.value) {\r\n      affixWrapper.value.addEventListener('mouseenter', handleWrapperMouseOver)\r\n      affixWrapper.value.addEventListener('mouseleave', handleWrapperMouseOut)\r\n    }\r\n  })\r\n})\r\n\r\nonUnmounted(() => {\r\n  if (affixWrapper.value) {\r\n    affixWrapper.value.removeEventListener('mouseenter', handleWrapperMouseOver)\r\n    affixWrapper.value.removeEventListener('mouseleave', handleWrapperMouseOut)\r\n  }\r\n})\r\n\r\n// 公开focus方法\r\ndefineExpose({\r\n  focus,\r\n  select,\r\n})\r\n</script>\r\n"],"names":["_createBlock","_resolveDynamicComponent","_unref","_mergeProps","allowClear","disabled","readonly","isGray","_renderList","$slots","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps","prefixIcon","_createVNode","suffixIcon"],"mappings":"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"}